home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / contrib / pdcurs22 / samples / xmas.c < prev   
Encoding:
Text File  |  1995-01-26  |  35.9 KB  |  1,270 lines

  1. /*
  2. ***************************************************************************
  3. * This file comprises part of PDCurses. PDCurses is Public Domain software.
  4. * You may use this code for whatever purposes you desire. This software
  5. * is provided AS IS with NO WARRANTY whatsoever.
  6. * Should this software be used in another application, an acknowledgement
  7. * that PDCurses code is used would be appreciated, but is not mandatory.
  8. *
  9. * Any changes which you make to this software which may improve or enhance
  10. * it, should be forwarded to the current maintainer for the benefit of 
  11. * other users.
  12. *
  13. * The only restriction placed on this code is that no distribution of
  14. * modified PDCurses code be made under the PDCurses name, by anyone
  15. * other than the current maintainer.
  16. * See the file maintain.er for details of the current maintainer.
  17. ***************************************************************************
  18. */
  19. /******************************************************************************/
  20. /* asciixmas                                                                  */
  21. /* December 1989             Larry Bartz           Indianapolis, IN           */
  22. /*                                                                            */
  23. /*                                                                            */
  24. /* I'm dreaming of an ascii character-based monochrome Christmas,             */
  25. /* Just like the one's I used to know!                                        */
  26. /* Via a full duplex communications channel,                                  */
  27. /* At 9600 bits per second,                                                   */
  28. /* Even though it's kinda slow.                                               */
  29. /*                                                                            */
  30. /* I'm dreaming of an ascii character-based monochrome Christmas,             */
  31. /* With ev'ry C program I write!                                              */
  32. /* May your screen be merry and bright!                                       */
  33. /* And may all your Christmases be amber or green,                            */
  34. /* (for reduced eyestrain and improved visibility)!                           */
  35. /*                                                                            */
  36. /*                                                                            */
  37. /*                                                                            */
  38. /*                                                                            */
  39. /*                                                                            */
  40. /* IMPLEMENTATION                                                             */
  41. /*                                                                            */
  42. /* Feel free to modify the defined string FROMWHO to reflect you, your        */
  43. /* organization, your site, whatever.                                         */
  44. /*                                                                            */
  45. /* This really looks a lot better if you can turn off your cursor before      */
  46. /* execution. I wanted to do that here but very few termcap entries or        */
  47. /* terminfo definitions have the appropriate string defined. If you know      */
  48. /* the string(s) for the terminal(s) you use or which your site supports,     */
  49. /* you could call asciixmas from within a shell in which you issue the        */
  50. /* string to the terminal. The cursor is distracting but it doesn't really    */
  51. /* ruin the show.                                                             */
  52. /*                                                                            */
  53. /* At our site, we invoke this for our users just after login and the         */
  54. /* determination of terminal type.                                            */
  55. /*                                                                            */
  56. /*                                                                            */
  57. /* PORTABILITY                                                                */
  58. /*                                                                            */
  59. /* I wrote this using only the very simplest curses functions so that it      */
  60. /* might be the most portable. I was personally able to test on five          */
  61. /* different cpu/UNIX combinations.                                           */
  62. /*                                                                            */
  63. /*                                                                            */
  64. /* COMPILE                                                                    */
  65. /*                                                                            */
  66. /* usually this:                                                              */
  67. /*                                                                            */
  68. /* cc -O asciixmas.c -lcurses -o asciixmas -s                                 */
  69. /*                                                                            */
  70. /*                                                                            */
  71. /* Zilog S8000 models 11, 21, 31, etc with ZEUS variant of SYSTEM III         */
  72. /* maybe other SYSTEM III also:                                               */
  73. /*                                                                            */
  74. /* cc asciixmas.c -lcurses -ltermlib -o asciixmas -s                          */
  75. /*                                                                            */
  76. /* as above with optional "peephole optimizer" installed:                     */
  77. /*                                                                            */
  78. /* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s                       */
  79. /*                                                                            */
  80. /*                                                                            */
  81. /* Zilog S8000 models 32, 130 with WE32100 chip and SYS V, REL2               */
  82. /* maybe 3B2 also?                                                            */
  83. /*                                                                            */
  84. /* cc -f -O -K sd asciixmas.c -lcurses -o asciixmas -s                        */
  85. /*                                                                            */
  86. /*                                                                            */
  87. /* Pyramid, Sequent, any other "dual universe" types compile and execute      */
  88. /* under either universe. The compile line for the ucb universe (as you       */
  89. /* might expect) is the same as for SYS III UNIX:                             */
  90. /*                                                                            */
  91. /* cc -O asciixmas.c -lcurses -ltermlib -o asciixmas -s                       */
  92. /*                                                                            */
  93. /* The above compile will also hold true for other BSD systems. (I hope)      */
  94. /*                                                                            */
  95. /*                                                                            */
  96. /*                                                                            */
  97. /*                                                                            */
  98. /* For the Scrooges out there among you who don't want this thing to loop     */
  99. /* forever (or until the user hits a key), insert this into your compile        */
  100. /* line just after "cc" :                                                     */
  101. /*                                                                            */
  102. /* -DNOLOOP                                                                   */
  103. /*                                                                            */
  104. /* like so:                                                                   */
  105. /*                                                                            */
  106. /* cc -DNOLOOP -O asciixmas.c -lcurses -o asciixmas -s                        */
  107. /*                                                                            */
  108. /*                                                                            */
  109. /*                                                                            */
  110. /******************************************************************************/
  111.  
  112. #ifdef PDCDEBUG
  113. char *rcsid_xmas  = "$Id$";
  114. #endif
  115.  
  116. #include <curses.h>
  117. #include <signal.h>
  118.  
  119. #if defined(XCURSES)
  120.     char *XCursesProgramName = "xmas";
  121. #endif
  122.  
  123. #define FROMWHO "Mark Hessling - (M.Hessling@gu.edu.au)"
  124.  
  125. int y_pos, x_pos;
  126.  
  127. WINDOW
  128.        *treescrn, *treescrn2,*treescrn3, *treescrn4,*treescrn5, *treescrn6,
  129.        *treescrn7, *treescrn8,
  130.        *dotdeer0,
  131.        *stardeer0,
  132.        *lildeer0, *lildeer1, *lildeer2, *lildeer3,
  133.        *middeer0, *middeer1, *middeer2, *middeer3,
  134.        *bigdeer0, *bigdeer1, *bigdeer2, *bigdeer3, *bigdeer4,
  135.        *lookdeer0, *lookdeer1, *lookdeer2, *lookdeer3, *lookdeer4,
  136.        *w_holiday,
  137.        *w_del_msg;
  138.  
  139. void main()
  140. {
  141.  void done();
  142.  int loopy;
  143.  chtype noseattr;
  144.  
  145.   initscr();
  146.   nodelay(stdscr, TRUE);
  147.   noecho();
  148.   nonl();
  149.   refresh();
  150. /*  signal(SIGINT,done);
  151.   signal(SIGTERM,done);
  152. #if !defined    DOS && !defined OS2
  153.   signal(SIGHUP,done);
  154.   signal(SIGQUIT,done);
  155. #endif
  156. */
  157.  
  158.  
  159.   treescrn = newwin(16,27,3,53);
  160.   treescrn2 = newwin(16,27,3,53);
  161.   treescrn3 = newwin(16,27,3,53);
  162.   treescrn4 = newwin(16,27,3,53);
  163.   treescrn5 = newwin(16,27,3,53);
  164.   treescrn6 = newwin(16,27,3,53);
  165.   treescrn7 = newwin(16,27,3,53);
  166.   treescrn8 = newwin(16,27,3,53);
  167.  
  168.   dotdeer0 = newwin(3,71,0,8);
  169.  
  170.   stardeer0 = newwin(4,56,0,8);
  171.  
  172.   lildeer0 = newwin(7,53,0,8);
  173.   lildeer1 = newwin(2,4,0,0);
  174.   lildeer2 = newwin(2,4,0,0);
  175.   lildeer3 = newwin(2,4,0,0);
  176.  
  177.   middeer0 = newwin(15,42,0,8);
  178.   middeer1 = newwin(3,7,0,0);
  179.   middeer2 = newwin(3,7,0,0);
  180.   middeer3 = newwin(3,7,0,0);
  181.  
  182.   bigdeer0 = newwin(10,23,0,0);
  183.   bigdeer1 = newwin(10,23,0,0);
  184.   bigdeer2 = newwin(10,23,0,0);
  185.   bigdeer3 = newwin(10,23,0,0);
  186.   bigdeer4 = newwin(10,23,0,0);
  187.  
  188.   lookdeer0 = newwin(10,25,0,0);
  189.   lookdeer1 = newwin(10,25,0,0);
  190.   lookdeer2 = newwin(10,25,0,0);
  191.   lookdeer3 = newwin(10,25,0,0);
  192.   lookdeer4 = newwin(10,25,0,0);
  193.  
  194.   w_holiday = newwin(1,26,3,27);
  195.  
  196.   w_del_msg = newwin(1,12,23,60);
  197.  
  198.   mvwaddstr(w_del_msg,0,0,"Hit any key to quit");
  199.  
  200.   mvwaddstr(w_holiday,0,0,"H A P P Y  H O L I D A Y S");
  201.  
  202.   /* set up the windows for our various reindeer */
  203.  
  204.   /* lildeer1 */
  205.   mvwaddch(lildeer1,0,0,(chtype)'V');
  206.   mvwaddch(lildeer1,1,0,(chtype)'@');
  207.   mvwaddch(lildeer1,1,1,(chtype)'<');
  208.   mvwaddch(lildeer1,1,2,(chtype)'>');
  209.   mvwaddch(lildeer1,1,3,(chtype)'~');
  210.  
  211.   /* lildeer2 */
  212.   mvwaddch(lildeer2,0,0,(chtype)'V');
  213.   mvwaddch(lildeer2,1,0,(chtype)'@');
  214.   mvwaddch(lildeer2,1,1,(chtype)'|');
  215.   mvwaddch(lildeer2,1,2,(chtype)'|');
  216.   mvwaddch(lildeer2,1,3,(chtype)'~');
  217.  
  218.   /* lildeer3 */
  219.   mvwaddch(lildeer3,0,0,(chtype)'V');
  220.   mvwaddch(lildeer3,1,0,(chtype)'@');
  221.   mvwaddch(lildeer3,1,1,(chtype)'>');
  222.   mvwaddch(lildeer3,1,2,(chtype)'<');
  223.   mvwaddch(lildeer2,1,3,(chtype)'~');
  224.  
  225.  
  226.   /* middeer1 */
  227.   mvwaddch(middeer1,0,2,(chtype)'y');
  228.   mvwaddch(middeer1,0,3,(chtype)'y');
  229.   mvwaddch(middeer1,1,2,(chtype)'0');
  230.   mvwaddch(middeer1,1,3,(chtype)'(');
  231.   mvwaddch(middeer1,1,4,(chtype)'=');
  232.   mvwaddch(middeer1,1,5,(chtype)')');
  233.   mvwaddch(middeer1,1,6,(chtype)'~');
  234.   mvwaddch(middeer1,2,3,(chtype)'\\');
  235.   mvwaddch(middeer1,2,4,(chtype)'/');
  236.  
  237.   /* middeer2 */
  238.   mvwaddch(middeer2,0,2,(chtype)'y');
  239.   mvwaddch(middeer2,0,3,(chtype)'y');
  240.   mvwaddch(middeer2,1,2,(chtype)'0');
  241.   mvwaddch(middeer2,1,3,(chtype)'(');
  242.   mvwaddch(middeer2,1,4,(chtype)'=');
  243.   mvwaddch(middeer2,1,5,(chtype)')');
  244.   mvwaddch(middeer2,1,6,(chtype)'~');
  245.   mvwaddch(middeer2,2,3,(chtype)'|');
  246.   mvwaddch(middeer2,2,5,(chtype)'|');
  247.  
  248.   /* middeer3 */
  249.   mvwaddch(middeer3,0,2,(chtype)'y');
  250.   mvwaddch(middeer3,0,3,(chtype)'y');
  251.   mvwaddch(middeer3,1,2,(chtype)'0');
  252.   mvwaddch(middeer3,1,3,(chtype)'(');
  253.   mvwaddch(middeer3,1,4,(chtype)'=');
  254.   mvwaddch(middeer3,1,5,(chtype)')');
  255.   mvwaddch(middeer3,1,6,(chtype)'~');
  256.   mvwaddch(middeer3,2,2,(chtype)'/');
  257.   mvwaddch(middeer3,2,6,(chtype)'\\');
  258.  
  259.  
  260.   /* bigdeer1 */
  261.   mvwaddch(bigdeer1,0,17,(chtype)'\\');
  262.   mvwaddch(bigdeer1,0,18,(chtype)'/');
  263.   mvwaddch(bigdeer1,0,20,(chtype)'\\');
  264.   mvwaddch(bigdeer1,0,21,(chtype)'/');
  265.   mvwaddch(bigdeer1,1,18,(chtype)'\\');
  266.   mvwaddch(bigdeer1,1,20,(chtype)'/');
  267.   mvwaddch(bigdeer1,2,19,(chtype)'|');
  268.   mvwaddch(bigdeer1,2,20,(chtype)'_');
  269.   mvwaddch(bigdeer1,3,18,(chtype)'/');
  270.   mvwaddch(bigdeer1,3,19,(chtype)'^');
  271.   mvwaddch(bigdeer1,3,20,(chtype)'0');
  272.   mvwaddch(bigdeer1,3,21,(chtype)'\\');
  273.   mvwaddch(bigdeer1,4,17,(chtype)'/');
  274.   mvwaddch(bigdeer1,4,18,(chtype)'/');
  275.   mvwaddch(bigdeer1,4,19,(chtype)'\\');
  276.   mvwaddch(bigdeer1,4,22,(chtype)'\\');
  277.   mvwaddstr(bigdeer1,5,7,"^~~~~~~~~//  ~~U");
  278.   mvwaddstr(bigdeer1,6,7,"( \\_____( /");
  279.   mvwaddstr(bigdeer1,7,8,"( )    /");
  280.   mvwaddstr(bigdeer1,8,9,"\\\\   /");
  281.   mvwaddstr(bigdeer1,9,11,"\\>/>");
  282.  
  283.   /* bigdeer2 */
  284.   mvwaddch(bigdeer2,0,17,(chtype)'\\');
  285.   mvwaddch(bigdeer2,0,18,(chtype)'/');
  286.   mvwaddch(bigdeer2,0,20,(chtype)'\\');
  287.   mvwaddch(bigdeer2,0,21,(chtype)'/');
  288.   mvwaddch(bigdeer2,1,18,(chtype)'\\');
  289.   mvwaddch(bigdeer2,1,20,(chtype)'/');
  290.   mvwaddch(bigdeer2,2,19,(chtype)'|');
  291.   mvwaddch(bigdeer2,2,20,(chtype)'_');
  292.   mvwaddch(bigdeer2,3,18,(chtype)'/');
  293.   mvwaddch(bigdeer2,3,19,(chtype)'^');
  294.   mvwaddch(bigdeer2,3,20,(chtype)'0');
  295.   mvwaddch(bigdeer2,3,21,(chtype)'\\');
  296.   mvwaddch(bigdeer2,4,17,(chtype)'/');
  297.   mvwaddch(bigdeer2,4,18,(chtype)'/');
  298.   mvwaddch(bigdeer2,4,19,(chtype)'\\');
  299.   mvwaddch(bigdeer2,4,22,(chtype)'\\');
  300.   mvwaddstr(bigdeer2,5,7,"^~~~~~~~~//  ~~U");
  301.   mvwaddstr(bigdeer2,6,7,"(( )____( /");
  302.   mvwaddstr(bigdeer2,7,7,"( /      |");
  303.   mvwaddstr(bigdeer2,8,8,"\\/      |");
  304.   mvwaddstr(bigdeer2,9,9,"|>     |>");
  305.  
  306.   /* bigdeer3 */
  307.   mvwaddch(bigdeer3,0,17,(chtype)'\\');
  308.   mvwaddch(bigdeer3,0,18,(chtype)'/');
  309.   mvwaddch(bigdeer3,0,20,(chtype)'\\');
  310.   mvwaddch(bigdeer3,0,21,(chtype)'/');
  311.   mvwaddch(bigdeer3,1,18,(chtype)'\\');
  312.   mvwaddch(bigdeer3,1,20,(chtype)'/');
  313.   mvwaddch(bigdeer3,2,19,(chtype)'|');
  314.   mvwaddch(bigdeer3,2,20,(chtype)'_');
  315.   mvwaddch(bigdeer3,3,18,(chtype)'/');
  316.   mvwaddch(bigdeer3,3,19,(chtype)'^');
  317.   mvwaddch(bigdeer3,3,20,(chtype)'0');
  318.   mvwaddch(bigdeer3,3,21,(chtype)'\\');
  319.   mvwaddch(bigdeer3,4,17,(chtype)'/');
  320.   mvwaddch(bigdeer3,4,18,(chtype)'/');
  321.   mvwaddch(bigdeer3,4,19,(chtype)'\\');
  322.   mvwaddch(bigdeer3,4,22,(chtype)'\\');
  323.   mvwaddstr(bigdeer3,5,7,"^~~~~~~~~//  ~~U");
  324.   mvwaddstr(bigdeer3,6,6,"( ()_____( /");
  325.   mvwaddstr(bigdeer3,7,6,"/ /       /");
  326.   mvwaddstr(bigdeer3,8,5,"|/          \\");
  327.   mvwaddstr(bigdeer3,9,5,"/>           \\>");
  328.  
  329.   /* bigdeer4 */
  330.   mvwaddch(bigdeer4,0,17,(chtype)'\\');
  331.   mvwaddch(bigdeer4,0,18,(chtype)'/');
  332.   mvwaddch(bigdeer4,0,20,(chtype)'\\');
  333.   mvwaddch(bigdeer4,0,21,(chtype)'/');
  334.   mvwaddch(bigdeer4,1,18,(chtype)'\\');
  335.   mvwaddch(bigdeer4,1,20,(chtype)'/');
  336.   mvwaddch(bigdeer4,2,19,(chtype)'|');
  337.   mvwaddch(bigdeer4,2,20,(chtype)'_');
  338.   mvwaddch(bigdeer4,3,18,(chtype)'/');
  339.   mvwaddch(bigdeer4,3,19,(chtype)'^');
  340.   mvwaddch(bigdeer4,3,20,(chtype)'0');
  341.   mvwaddch(bigdeer4,3,21,(chtype)'\\');
  342.   mvwaddch(bigdeer4,4,17,(chtype)'/');
  343.   mvwaddch(bigdeer4,4,18,(chtype)'/');
  344.   mvwaddch(bigdeer4,4,19,(chtype)'\\');
  345.   mvwaddch(bigdeer4,4,22,(chtype)'\\');
  346.   mvwaddstr(bigdeer4,5,7,"^~~~~~~~~//  ~~U");
  347.   mvwaddstr(bigdeer4,6,6,"( )______( /");
  348.   mvwaddstr(bigdeer4,7,5,"(/          \\");
  349.   mvwaddstr(bigdeer4,8,0,"v___=             ----^");
  350.  
  351. #ifdef A_COLOR
  352.   if ( has_colors() )
  353.     {
  354.       start_color();
  355.       init_pair(1, COLOR_RED, COLOR_BLACK);
  356.       noseattr = COLOR_PAIR(1);
  357.     }
  358.   else
  359.       noseattr = A_NORMAL;
  360. #else
  361.       noseattr = A_NORMAL;
  362. #endif
  363.  
  364.   /* lookdeer1 */
  365.   mvwaddstr(lookdeer1,0,16,"\\/     \\/");
  366.   mvwaddstr(lookdeer1,1,17,"\\Y/ \\Y/");
  367.   mvwaddstr(lookdeer1,2,19,"\\=/");
  368.   mvwaddstr(lookdeer1,3,17,"^\\o o/^");
  369.   mvwaddstr(lookdeer1,4,17,"//( )");
  370.   mvwaddstr(lookdeer1,5,7,"^~~~~~~~~// \\");
  371.   waddch(lookdeer1,'O' | noseattr);
  372.   waddstr(lookdeer1,"/");
  373.   mvwaddstr(lookdeer1,6,7,"( \\_____( /");
  374.   mvwaddstr(lookdeer1,7,8,"( )    /");
  375.   mvwaddstr(lookdeer1,8,9,"\\\\   /");
  376.   mvwaddstr(lookdeer1,9,11,"\\>/>");
  377.  
  378.   /* lookdeer2 */
  379.   mvwaddstr(lookdeer2,0,16,"\\/     \\/");
  380.   mvwaddstr(lookdeer2,1,17,"\\Y/ \\Y/");
  381.   mvwaddstr(lookdeer2,2,19,"\\=/");
  382.   mvwaddstr(lookdeer2,3,17,"^\\o o/^");
  383.   mvwaddstr(lookdeer2,4,17,"//( )");
  384.   mvwaddstr(lookdeer2,5,7,"^~~~~~~~~// \\");
  385.   waddch(lookdeer2,'O' | noseattr);
  386.   waddstr(lookdeer2,"/");
  387.   mvwaddstr(lookdeer2,6,7,"(( )____( /");
  388.   mvwaddstr(lookdeer2,7,7,"( /      |");
  389.   mvwaddstr(lookdeer2,8,8,"\\/      |");
  390.   mvwaddstr(lookdeer2,9,9,"|>     |>");
  391.  
  392.   /* lookdeer3 */
  393.   mvwaddstr(lookdeer3,0,16,"\\/     \\/");
  394.   mvwaddstr(lookdeer3,1,17,"\\Y/ \\Y/");
  395.   mvwaddstr(lookdeer3,2,19,"\\=/");
  396.   mvwaddstr(lookdeer3,3,17,"^\\o o/^");
  397.   mvwaddstr(lookdeer3,4,17,"//( )");
  398.   mvwaddstr(lookdeer3,5,7,"^~~~~~~~~// \\");
  399.   waddch(lookdeer3,'O' | noseattr);
  400.   waddstr(lookdeer3,"/");
  401.   mvwaddstr(lookdeer3,6,6,"( ()_____( /");
  402.   mvwaddstr(lookdeer3,7,6,"/ /       /");
  403.   mvwaddstr(lookdeer3,8,5,"|/          \\");
  404.   mvwaddstr(lookdeer3,9,5,"/>           \\>");
  405.  
  406.   /* lookdeer4 */
  407.   mvwaddstr(lookdeer4,0,16,"\\/     \\/");
  408.   mvwaddstr(lookdeer4,1,17,"\\Y/ \\Y/");
  409.   mvwaddstr(lookdeer4,2,19,"\\=/");
  410.   mvwaddstr(lookdeer4,3,17,"^\\o o/^");
  411.   mvwaddstr(lookdeer4,4,17,"//( )");
  412.   mvwaddstr(lookdeer4,5,7,"^~~~~~~~~// \\");
  413.   waddch(lookdeer4,'O' | noseattr);
  414.   waddstr(lookdeer4,"/");
  415.   mvwaddstr(lookdeer4,6,6,"( )______( /");
  416.   mvwaddstr(lookdeer4,7,5,"(/          \\");
  417.   mvwaddstr(lookdeer4,8,0,"v___=             ----^");
  418.  
  419.  
  420.  
  421.   /***********************************************/
  422.   do
  423.   {
  424.     clear();
  425.     werase(treescrn);
  426.     touchwin(treescrn);
  427.     werase(treescrn2);
  428.     touchwin(treescrn2);
  429.     werase(treescrn8);
  430.     touchwin(treescrn8);
  431.     refresh();
  432.     delay_output(1000);
  433.     boxit();
  434.     del_msg();
  435.     delay_output(1000);
  436.     seas();
  437.     del_msg();
  438.     delay_output(1000);
  439.     greet();
  440.     del_msg();
  441.     delay_output(1000);
  442.     fromwho();
  443.     del_msg();
  444.     delay_output(1000);
  445.     tree();
  446.     delay_output(1000);
  447.     balls();
  448.     delay_output(1000);
  449.     star();
  450.     delay_output(1000);
  451.     strng1();
  452.     strng2();
  453.     strng3();
  454.     strng4();
  455.     strng5();
  456.  
  457.  
  458.   /* set up the windows for our blinking trees */
  459.   /* **************************************** */
  460.   /* treescrn3 */
  461.  
  462.                overlay(treescrn, treescrn3);
  463.  
  464.              /*balls*/
  465.                mvwaddch(treescrn3, 4, 18, ' ');
  466.                mvwaddch(treescrn3, 7, 6, ' ');
  467.                mvwaddch(treescrn3, 8, 19, ' ');
  468.                mvwaddch(treescrn3, 11, 22, ' ');
  469.  
  470.              /*star*/
  471.                mvwaddch(treescrn3, 0, 12, '*');
  472.  
  473.              /*strng1*/
  474.                mvwaddch(treescrn3, 3, 11, ' ');
  475.  
  476.              /*strng2*/
  477.                mvwaddch(treescrn3, 5, 13, ' ');
  478.                mvwaddch(treescrn3, 6, 10, ' ');
  479.  
  480.              /*strng3*/
  481.                mvwaddch(treescrn3, 7, 16, ' ');
  482.                mvwaddch(treescrn3, 7, 14, ' ');
  483.  
  484.              /*strng4*/
  485.                mvwaddch(treescrn3, 10, 13, ' ');
  486.                mvwaddch(treescrn3, 10, 10, ' ');
  487.                mvwaddch(treescrn3, 11, 8, ' ');
  488.  
  489.              /*strng5*/
  490.                mvwaddch(treescrn3, 11, 18, ' ');
  491.                mvwaddch(treescrn3, 12, 13, ' ');
  492.  
  493.  
  494.   /* treescrn4 */
  495.  
  496.                overlay(treescrn, treescrn4);
  497.  
  498.              /*balls*/
  499.                mvwaddch(treescrn4, 3, 9, ' ');
  500.                mvwaddch(treescrn4, 4, 16, ' ');
  501.                mvwaddch(treescrn4, 7, 6, ' ');
  502.                mvwaddch(treescrn4, 8, 19, ' ');
  503.                mvwaddch(treescrn4, 11, 2, ' ');
  504.                mvwaddch(treescrn4, 12, 23, ' ');
  505.  
  506.              /*star*/
  507.                mvwaddch(treescrn4, 0, 12, '*' | A_STANDOUT );
  508.  
  509.              /*strng1*/
  510.                mvwaddch(treescrn4, 3, 13, ' ');
  511.  
  512.              /*strng2*/
  513.  
  514.          /*strng3*/
  515.                mvwaddch(treescrn4, 7, 15, ' ');
  516.                mvwaddch(treescrn4, 8, 11, ' ');
  517.  
  518.              /*strng4*/
  519.                mvwaddch(treescrn4, 9, 16, ' ');
  520.                mvwaddch(treescrn4, 10, 12, ' ');
  521.                mvwaddch(treescrn4, 11, 8, ' ');
  522.  
  523.              /*strng5*/
  524.                mvwaddch(treescrn4, 11, 18, ' ');
  525.            mvwaddch(treescrn4, 12, 14, ' ');
  526.  
  527.  
  528.   /* treescrn5 */
  529.  
  530.                overlay(treescrn, treescrn5);
  531.  
  532.              /*balls*/
  533.                mvwaddch(treescrn5, 3, 15, ' ');
  534.                mvwaddch(treescrn5, 10, 20, ' ');
  535.                mvwaddch(treescrn5, 12, 1, ' ');
  536.  
  537.              /*star*/
  538.                mvwaddch(treescrn5, 0, 12, '*');
  539.  
  540.              /*strng1*/
  541.                mvwaddch(treescrn5, 3, 11, ' ');
  542.  
  543.              /*strng2*/
  544.                mvwaddch(treescrn5, 5, 12, ' ');
  545.  
  546.              /*strng3*/
  547.            mvwaddch(treescrn5, 7, 14, ' ');
  548.                mvwaddch(treescrn5, 8, 10, ' ');
  549.  
  550.              /*strng4*/
  551.                mvwaddch(treescrn5, 9, 15, ' ');
  552.                mvwaddch(treescrn5, 10, 11, ' ');
  553.                mvwaddch(treescrn5, 11, 7, ' ');
  554.  
  555.              /*strng5*/
  556.                mvwaddch(treescrn5, 11, 17, ' ');
  557.                mvwaddch(treescrn5, 12, 13, ' ');
  558.  
  559.   /* treescrn6 */
  560.  
  561.                overlay(treescrn, treescrn6);
  562.  
  563.              /*balls*/
  564.                mvwaddch(treescrn6, 6, 7, ' ');
  565.                mvwaddch(treescrn6, 7, 18, ' ');
  566.                mvwaddch(treescrn6, 10, 4, ' ');
  567.                mvwaddch(treescrn6, 11, 23, ' ');
  568.  
  569.          /*star*/
  570.                mvwaddch(treescrn6, 0, 12, '*' | A_STANDOUT );
  571.  
  572.              /*strng1*/
  573.  
  574.              /*strng2*/
  575.                mvwaddch(treescrn6, 5, 11, ' ');
  576.  
  577.              /*strng3*/
  578.            mvwaddch(treescrn6, 7, 13, ' ');
  579.                mvwaddch(treescrn6, 8, 9, ' ');
  580.  
  581.              /*strng4*/
  582.                mvwaddch(treescrn6, 9, 14, ' ');
  583.                mvwaddch(treescrn6, 10, 10, ' ');
  584.                mvwaddch(treescrn6, 11, 6, ' ');
  585.  
  586.              /*strng5*/
  587.                mvwaddch(treescrn6, 11, 16, ' ');
  588.                mvwaddch(treescrn6, 12, 12, ' ');
  589.  
  590.   /* treescrn7 */
  591.  
  592.                overlay(treescrn, treescrn7);
  593.  
  594.              /*balls*/
  595.                mvwaddch(treescrn7, 3, 15, ' ');
  596.                mvwaddch(treescrn7, 6, 7, ' ');
  597.                mvwaddch(treescrn7, 7, 18, ' ');
  598.                mvwaddch(treescrn7, 10, 4, ' ');
  599.                mvwaddch(treescrn7, 11, 22, ' ');
  600.  
  601.              /*star*/
  602.                mvwaddch(treescrn7, 0, 12, '*');
  603.  
  604.              /*strng1*/
  605.                mvwaddch(treescrn7, 3, 12, ' ');
  606.  
  607.              /*strng2*/
  608.                mvwaddch(treescrn7, 5, 13, ' ');
  609.                mvwaddch(treescrn7, 6, 9, ' ');
  610.  
  611.          /*strng3*/
  612.                mvwaddch(treescrn7, 7, 15, ' ');
  613.                mvwaddch(treescrn7, 8, 11, ' ');
  614.  
  615.              /*strng4*/
  616.                mvwaddch(treescrn7, 9, 16, ' ');
  617.                mvwaddch(treescrn7, 10, 12, ' ');
  618.                mvwaddch(treescrn7, 11, 8, ' ');
  619.  
  620.              /*strng5*/
  621.                mvwaddch(treescrn7, 11, 18, ' ');
  622.            mvwaddch(treescrn7, 12, 14, ' ');
  623.  
  624.  
  625.     delay_output(1000);
  626.     reindeer();
  627.  
  628.     touchwin(w_holiday);
  629.     wrefresh(w_holiday);
  630.     wrefresh(w_del_msg);
  631.  
  632.     delay_output(1000);
  633.     for(loopy = 0;loopy < 100;loopy++)
  634.     {
  635.       blinkit();
  636.     }
  637.  
  638. #ifdef NOLOOP
  639.     done();
  640. #endif
  641.  
  642.   }
  643.   while(getch() == (ERR));
  644. /*  while(!typeahead(stdin));*/
  645. }
  646.  
  647. boxit()
  648. {
  649.  int x = 0;
  650.  
  651.   while(x < 20)
  652.   {
  653.     mvaddch(x, 7, '|');
  654.     ++x;
  655.   }
  656.  
  657.   x = 8;
  658.  
  659.   while(x < 80)
  660.   {
  661.     mvaddch(19, x, '_');
  662.     ++x;
  663.   }
  664.  
  665.   x = 0;
  666.  
  667.   while(x < 80)
  668.   {
  669.     mvaddch(22, x, '_');
  670.     ++x;
  671.   }
  672.  
  673.   return( 0 );
  674. }
  675.  
  676. seas()
  677. {
  678.   mvaddch(4, 1, 'S');
  679.   mvaddch(6, 1, 'E');
  680.   mvaddch(8, 1, 'A');
  681.   mvaddch(10, 1, 'S');
  682.   mvaddch(12, 1, 'O');
  683.   mvaddch(14, 1, 'N');
  684.   mvaddch(16, 1, '`');
  685.   mvaddch(18, 1, 'S');
  686.  
  687.   return( 0 );
  688. }
  689.  
  690.  
  691. greet()
  692. {
  693.   mvaddch(3, 5, 'G');
  694.   mvaddch(5, 5, 'R');
  695.   mvaddch(7, 5, 'E');
  696.   mvaddch(9, 5, 'E');
  697.   mvaddch(11, 5, 'T');
  698.   mvaddch(13, 5, 'I');
  699.   mvaddch(15, 5, 'N');
  700.   mvaddch(17, 5, 'G');
  701.   mvaddch(19, 5, 'S');
  702.  
  703.   return( 0 );
  704. }
  705.  
  706.  
  707. fromwho()
  708. {
  709.   mvaddstr(21, 13, FROMWHO);
  710.   return( 0 );
  711. }
  712.  
  713.  
  714. del_msg()
  715. {
  716.   mvaddstr(23, 60, "Hit any key to quit");
  717.  
  718.   refresh();
  719.  
  720.   return( 0 );
  721. }
  722.  
  723.  
  724. tree()
  725. {
  726.   mvwaddch(treescrn, 1, 11, (chtype)'/');
  727.   mvwaddch(treescrn, 2, 11, (chtype)'/');
  728.   mvwaddch(treescrn, 3, 10, (chtype)'/');
  729.   mvwaddch(treescrn, 4, 9, (chtype)'/');
  730.   mvwaddch(treescrn, 5, 9, (chtype)'/');
  731.   mvwaddch(treescrn, 6, 8, (chtype)'/');
  732.   mvwaddch(treescrn, 7, 7, (chtype)'/');
  733.   mvwaddch(treescrn, 8, 6, (chtype)'/');
  734.   mvwaddch(treescrn, 9, 6, (chtype)'/');
  735.   mvwaddch(treescrn, 10, 5, (chtype)'/');
  736.   mvwaddch(treescrn, 11, 3, (chtype)'/');
  737.   mvwaddch(treescrn, 12, 2, (chtype)'/');
  738.  
  739.   mvwaddch(treescrn, 1, 13, (chtype)'\\');
  740.   mvwaddch(treescrn, 2, 13, (chtype)'\\');
  741.   mvwaddch(treescrn, 3, 14, (chtype)'\\');
  742.   mvwaddch(treescrn, 4, 15, (chtype)'\\');
  743.   mvwaddch(treescrn, 5, 15, (chtype)'\\');
  744.   mvwaddch(treescrn, 6, 16, (chtype)'\\');
  745.   mvwaddch(treescrn, 7, 17, (chtype)'\\');
  746.   mvwaddch(treescrn, 8, 18, (chtype)'\\');
  747.   mvwaddch(treescrn, 9, 18, (chtype)'\\');
  748.   mvwaddch(treescrn, 10, 19, (chtype)'\\');
  749.   mvwaddch(treescrn, 11, 21, (chtype)'\\');
  750.   mvwaddch(treescrn, 12, 22, (chtype)'\\');
  751.  
  752.   mvwaddch(treescrn, 4, 10, (chtype)'_');
  753.   mvwaddch(treescrn, 4, 14, (chtype)'_');
  754.   mvwaddch(treescrn, 8, 7, (chtype)'_');
  755.   mvwaddch(treescrn, 8, 17, (chtype)'_');
  756.  
  757.   mvwaddstr(treescrn, 13, 0, "//////////// \\\\\\\\\\\\\\\\\\\\\\\\");
  758.  
  759.   mvwaddstr(treescrn, 14, 11, "| |");
  760.   mvwaddstr(treescrn, 15, 11, "|_|");
  761.  
  762.   wrefresh(treescrn);
  763.   wrefresh(w_del_msg);
  764.  
  765.   return( 0 );
  766. }
  767.  
  768.  
  769. balls()
  770. {
  771.  
  772.   overlay(treescrn, treescrn2);
  773.  
  774.   mvwaddch(treescrn2, 3, 9, (chtype)'@');
  775.   mvwaddch(treescrn2, 3, 15, (chtype)'@');
  776.   mvwaddch(treescrn2, 4, 8, (chtype)'@');
  777.   mvwaddch(treescrn2, 4, 16, (chtype)'@');
  778.   mvwaddch(treescrn2, 5, 7, (chtype)'@');
  779.   mvwaddch(treescrn2, 5, 17, (chtype)'@');
  780.   mvwaddch(treescrn2, 7, 6, (chtype)'@');
  781.   mvwaddch(treescrn2, 7, 18, (chtype)'@');
  782.   mvwaddch(treescrn2, 8, 5, (chtype)'@');
  783.   mvwaddch(treescrn2, 8, 19, (chtype)'@');
  784.   mvwaddch(treescrn2, 10, 4, (chtype)'@');
  785.   mvwaddch(treescrn2, 10, 20, (chtype)'@');
  786.   mvwaddch(treescrn2, 11, 2, (chtype)'@');
  787.   mvwaddch(treescrn2, 11, 22, (chtype)'@');
  788.   mvwaddch(treescrn2, 12, 1, (chtype)'@');
  789.   mvwaddch(treescrn2, 12, 23, (chtype)'@');
  790.  
  791.   wrefresh(treescrn2);
  792.   wrefresh(w_del_msg);
  793.   return( 0 );
  794. }
  795.  
  796.  
  797. star()
  798. {
  799.   mvwaddch(treescrn2, 0, 12, (chtype)'*' | A_STANDOUT );
  800.  
  801.   wrefresh(treescrn2);
  802.   wrefresh(w_del_msg);
  803.   return( 0 );
  804. }
  805.  
  806.  
  807. strng1()
  808. {
  809.   mvwaddch(treescrn2, 3, 13, (chtype)'\'');
  810.   mvwaddch(treescrn2, 3, 12, (chtype)':');
  811.   mvwaddch(treescrn2, 3, 11, (chtype)'.');
  812.  
  813.   wrefresh(treescrn2);
  814.   wrefresh(w_del_msg);
  815.   return( 0 );
  816. }
  817.  
  818.  
  819. strng2()
  820. {
  821.   mvwaddch(treescrn2, 5, 14, (chtype)'\'');
  822.   mvwaddch(treescrn2, 5, 13, (chtype)':');
  823.   mvwaddch(treescrn2, 5, 12, (chtype)'.');
  824.   mvwaddch(treescrn2, 5, 11, (chtype)',');
  825.   mvwaddch(treescrn2, 6, 10, (chtype)'\'');
  826.   mvwaddch(treescrn2, 6, 9, (chtype)':');
  827.  
  828.   wrefresh(treescrn2);
  829.   wrefresh(w_del_msg);
  830.   return( 0 );
  831. }
  832.  
  833.  
  834. strng3()
  835. {
  836.   mvwaddch(treescrn2, 7, 16, (chtype)'\'');
  837.   mvwaddch(treescrn2, 7, 15, (chtype)':');
  838.   mvwaddch(treescrn2, 7, 14, (chtype)'.');
  839.   mvwaddch(treescrn2, 7, 13, (chtype)',');
  840.   mvwaddch(treescrn2, 8, 12, (chtype)'\'');
  841.   mvwaddch(treescrn2, 8, 11, (chtype)':');
  842.   mvwaddch(treescrn2, 8, 10, (chtype)'.');
  843.   mvwaddch(treescrn2, 8, 9, (chtype)',');
  844.  
  845.   wrefresh(treescrn2);
  846.   wrefresh(w_del_msg);
  847.   return( 0 );
  848. }
  849.  
  850.  
  851. strng4()
  852. {
  853.   mvwaddch(treescrn2, 9, 17, (chtype)'\'');
  854.   mvwaddch(treescrn2, 9, 16, (chtype)':');
  855.   mvwaddch(treescrn2, 9, 15, (chtype)'.');
  856.   mvwaddch(treescrn2, 9, 14, (chtype)',');
  857.   mvwaddch(treescrn2, 10, 13, (chtype)'\'');
  858.   mvwaddch(treescrn2, 10, 12, (chtype)':');
  859.   mvwaddch(treescrn2, 10, 11, (chtype)'.');
  860.   mvwaddch(treescrn2, 10, 10, (chtype)',');
  861.   mvwaddch(treescrn2, 11, 9, (chtype)'\'');
  862.   mvwaddch(treescrn2, 11, 8, (chtype)':');
  863.   mvwaddch(treescrn2, 11, 7, (chtype)'.');
  864.   mvwaddch(treescrn2, 11, 6, (chtype)',');
  865.   mvwaddch(treescrn2, 12, 5, (chtype)'\'');
  866.  
  867.   wrefresh(treescrn2);
  868.   wrefresh(w_del_msg);
  869.   return( 0 );
  870. }
  871.  
  872.  
  873. strng5()
  874. {
  875.   mvwaddch(treescrn2, 11, 19, (chtype)'\'');
  876.   mvwaddch(treescrn2, 11, 18, (chtype)':');
  877.   mvwaddch(treescrn2, 11, 17, (chtype)'.');
  878.   mvwaddch(treescrn2, 11, 16, (chtype)',');
  879.   mvwaddch(treescrn2, 12, 15, (chtype)'\'');
  880.   mvwaddch(treescrn2, 12, 14, (chtype)':');
  881.   mvwaddch(treescrn2, 12, 13, (chtype)'.');
  882.   mvwaddch(treescrn2, 12, 12, (chtype)',');
  883.  
  884.   /* save a fully lit tree */
  885.   overlay(treescrn2, treescrn);
  886.  
  887.   wrefresh(treescrn2);
  888.   wrefresh(w_del_msg);
  889.   return( 0 );
  890. }
  891.  
  892.  
  893.  
  894. blinkit()
  895. {
  896.  static int cycle;
  897.  
  898.   if(cycle > 4)
  899.   {
  900.     cycle = 0;
  901.   }
  902.  
  903.  
  904.   touchwin(treescrn8);
  905.  
  906.   switch(cycle)
  907.   {
  908.  
  909.     case 0:
  910.                overlay(treescrn3, treescrn8);
  911.                wrefresh(treescrn8);
  912.                wrefresh(w_del_msg);
  913.  
  914.                break;
  915.     case 1:
  916.                overlay(treescrn4, treescrn8);
  917.                wrefresh(treescrn8);
  918.                wrefresh(w_del_msg);
  919.  
  920.                break;
  921.     case 2:
  922.                overlay(treescrn5, treescrn8);
  923.                wrefresh(treescrn8);
  924.                wrefresh(w_del_msg);
  925.  
  926.                break;
  927.     case 3:
  928.                overlay(treescrn6, treescrn8);
  929.                wrefresh(treescrn8);
  930.                wrefresh(w_del_msg);
  931.  
  932.                break;
  933.     case 4:
  934.                overlay(treescrn7, treescrn8);
  935.                wrefresh(treescrn8);
  936.                wrefresh(w_del_msg);
  937.  
  938.                break;
  939.   }
  940.  
  941.    napms(50);
  942.    touchwin(treescrn8);
  943.  
  944.  
  945.  
  946.    /*ALL ON***************************************************/
  947.  
  948.  
  949.    overlay(treescrn, treescrn8);
  950.    wrefresh(treescrn8);
  951.    wrefresh(w_del_msg);
  952.  
  953.  
  954.   ++cycle;
  955.   return( 0 );
  956. }
  957.  
  958.  
  959. reindeer()
  960. {
  961.  int looper;
  962.  
  963.   y_pos = 0;
  964.  
  965.  
  966.   for(x_pos = 70; x_pos > 62; x_pos--)
  967.   {
  968.     if(x_pos < 62)
  969.     {
  970.       y_pos = 1;
  971.     }
  972.     for(looper = 0; looper < 4; looper++)
  973.     {
  974.       mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'.');
  975.       wrefresh(dotdeer0);
  976.       wrefresh(w_del_msg);
  977.       werase(dotdeer0);
  978.       wrefresh(dotdeer0);
  979.       wrefresh(w_del_msg);
  980.     }
  981.   }
  982.  
  983.   y_pos = 2;
  984.  
  985.   for(; x_pos > 50; x_pos--)
  986.   {
  987.  
  988.     for(looper = 0; looper < 4; looper++)
  989.     {
  990.  
  991.       if(x_pos < 56)
  992.       {
  993.         y_pos = 3;
  994.  
  995.         mvwaddch(stardeer0, y_pos, x_pos, (chtype)'*');
  996.         wrefresh(stardeer0);
  997.         wrefresh(w_del_msg);
  998.         werase(stardeer0);
  999.         wrefresh(stardeer0);
  1000.         wrefresh(w_del_msg);
  1001.       }
  1002.       else
  1003.       {
  1004.         mvwaddch(dotdeer0, y_pos, x_pos, (chtype)'*');
  1005.         wrefresh(dotdeer0);
  1006.         wrefresh(w_del_msg);
  1007.         werase(dotdeer0);
  1008.         wrefresh(dotdeer0);
  1009.         wrefresh(w_del_msg);
  1010.       }
  1011.     }
  1012.   }
  1013.  
  1014.   x_pos = 58;
  1015.  
  1016.   for(y_pos = 2; y_pos < 5; y_pos++)
  1017.   {
  1018.  
  1019.     touchwin(lildeer0);
  1020.     wrefresh(lildeer0);
  1021.     wrefresh(w_del_msg);
  1022.    napms(50);
  1023.  
  1024.     for(looper = 0; looper < 4; looper++)
  1025.     {
  1026.       mvwin(lildeer3, y_pos, x_pos);
  1027.       wrefresh(lildeer3);
  1028.       wrefresh(w_del_msg);
  1029.    napms(50);
  1030.  
  1031.       mvwin(lildeer2, y_pos, x_pos);
  1032.       wrefresh(lildeer2);
  1033.       wrefresh(w_del_msg);
  1034.    napms(50);
  1035.  
  1036.       mvwin(lildeer1, y_pos, x_pos);
  1037.       wrefresh(lildeer1);
  1038.       wrefresh(w_del_msg);
  1039.    napms(50);
  1040.  
  1041.       mvwin(lildeer2, y_pos, x_pos);
  1042.       wrefresh(lildeer2);
  1043.       wrefresh(w_del_msg);
  1044.    napms(50);
  1045.  
  1046.       mvwin(lildeer3, y_pos, x_pos);
  1047.       wrefresh(lildeer3);
  1048.       wrefresh(w_del_msg);
  1049.    napms(50);
  1050.  
  1051.       touchwin(lildeer0);
  1052.       wrefresh(lildeer0);
  1053.       wrefresh(w_del_msg);
  1054.    napms(50);
  1055.  
  1056.       x_pos -= 2;
  1057.     }
  1058.   }
  1059.  
  1060.  
  1061.   x_pos = 35;
  1062.  
  1063.   for(y_pos = 5; y_pos < 10; y_pos++)
  1064.   {
  1065.  
  1066.     touchwin(middeer0);
  1067.     wrefresh(middeer0);
  1068.     wrefresh(w_del_msg);
  1069.  
  1070.     for(looper = 0; looper < 2; looper++)
  1071.     {
  1072.       mvwin(middeer3, y_pos, x_pos);
  1073.       wrefresh(middeer3);
  1074.       wrefresh(w_del_msg);
  1075.    napms(50);
  1076.  
  1077.       mvwin(middeer2, y_pos, x_pos);
  1078.       wrefresh(middeer2);
  1079.       wrefresh(w_del_msg);
  1080.    napms(50);
  1081.  
  1082.       mvwin(middeer1, y_pos, x_pos);
  1083.       wrefresh(middeer1);
  1084.       wrefresh(w_del_msg);
  1085.    napms(50);
  1086.  
  1087.       mvwin(middeer2, y_pos, x_pos);
  1088.       wrefresh(middeer2);
  1089.       wrefresh(w_del_msg);
  1090.    napms(50);
  1091.  
  1092.       mvwin(middeer3, y_pos, x_pos);
  1093.       wrefresh(middeer3);
  1094.       wrefresh(w_del_msg);
  1095.    napms(50);
  1096.  
  1097.       touchwin(middeer0);
  1098.       wrefresh(middeer0);
  1099.       wrefresh(w_del_msg);
  1100.    napms(50);
  1101.  
  1102.       x_pos -= 3;
  1103.     }
  1104.   }
  1105.  
  1106.   delay_output(2000);
  1107.  
  1108.   y_pos = 1;
  1109.  
  1110.   for(x_pos = 8; x_pos < 16; x_pos++)
  1111.   {
  1112.  
  1113.       mvwin(bigdeer4, y_pos, x_pos);
  1114.       wrefresh(bigdeer4);
  1115.       wrefresh(w_del_msg);
  1116.    napms(30);
  1117.  
  1118.       mvwin(bigdeer3, y_pos, x_pos);
  1119.       wrefresh(bigdeer3);
  1120.       wrefresh(w_del_msg);
  1121.    napms(30);
  1122.  
  1123.       mvwin(bigdeer2, y_pos, x_pos);
  1124.       wrefresh(bigdeer2);
  1125.       wrefresh(w_del_msg);
  1126.    napms(30);
  1127.  
  1128.       mvwin(bigdeer1, y_pos, x_pos);
  1129.       wrefresh(bigdeer1);
  1130.       wrefresh(w_del_msg);
  1131.    napms(30);
  1132.  
  1133.       mvwin(bigdeer2, y_pos, x_pos);
  1134.       wrefresh(bigdeer2);
  1135.       wrefresh(w_del_msg);
  1136.    napms(30);
  1137.  
  1138.       mvwin(bigdeer3, y_pos, x_pos);
  1139.       wrefresh(bigdeer3);
  1140.       wrefresh(w_del_msg);
  1141.    napms(30);
  1142.  
  1143.       mvwin(bigdeer4, y_pos, x_pos);
  1144.       wrefresh(bigdeer4);
  1145.       wrefresh(w_del_msg);
  1146.    napms(30);
  1147.  
  1148.       mvwin(bigdeer0, y_pos, x_pos);
  1149.       wrefresh(bigdeer0);
  1150.       wrefresh(w_del_msg);
  1151.    napms(30);
  1152.   }
  1153.  
  1154.     --x_pos;
  1155.  
  1156.     for(looper = 0; looper < 6; looper++)
  1157.     {
  1158.       mvwin(lookdeer4, y_pos, x_pos);
  1159.       wrefresh(lookdeer4);
  1160.       wrefresh(w_del_msg);
  1161.    napms(40);
  1162.  
  1163.       mvwin(lookdeer3, y_pos, x_pos);
  1164.       wrefresh(lookdeer3);
  1165.       wrefresh(w_del_msg);
  1166.    napms(40);
  1167.  
  1168.       mvwin(lookdeer2, y_pos, x_pos);
  1169.       wrefresh(lookdeer2);
  1170.       wrefresh(w_del_msg);
  1171.    napms(40);
  1172.  
  1173.       mvwin(lookdeer1, y_pos, x_pos);
  1174.       wrefresh(lookdeer1);
  1175.       wrefresh(w_del_msg);
  1176.    napms(40);
  1177.  
  1178.       mvwin(lookdeer2, y_pos, x_pos);
  1179.       wrefresh(lookdeer2);
  1180.       wrefresh(w_del_msg);
  1181.    napms(40);
  1182.  
  1183.       mvwin(lookdeer3, y_pos, x_pos);
  1184.       wrefresh(lookdeer3);
  1185.       wrefresh(w_del_msg);
  1186.    napms(40);
  1187.  
  1188.       mvwin(lookdeer4, y_pos, x_pos);
  1189.       wrefresh(lookdeer4);
  1190.       wrefresh(w_del_msg);
  1191.    napms(40);
  1192.  
  1193.     }
  1194.  
  1195.     mvwin(lookdeer0, y_pos, x_pos);
  1196.     wrefresh(lookdeer0);
  1197.     wrefresh(w_del_msg);
  1198.    napms(40);
  1199.  
  1200.   for(; y_pos < 10; y_pos++)
  1201.   {
  1202.  
  1203.     for(looper = 0; looper < 2; looper++)
  1204.     {
  1205.       mvwin(bigdeer4, y_pos, x_pos);
  1206.       wrefresh(bigdeer4);
  1207.       wrefresh(w_del_msg);
  1208.    napms(30);
  1209.  
  1210.       mvwin(bigdeer3, y_pos, x_pos);
  1211.       wrefresh(bigdeer3);
  1212.       wrefresh(w_del_msg);
  1213.    napms(30);
  1214.  
  1215.       mvwin(bigdeer2, y_pos, x_pos);
  1216.       wrefresh(bigdeer2);
  1217.       wrefresh(w_del_msg);
  1218.    napms(30);
  1219.  
  1220.       mvwin(bigdeer1, y_pos, x_pos);
  1221.       wrefresh(bigdeer1);
  1222.       wrefresh(w_del_msg);
  1223.    napms(30);
  1224.  
  1225.       mvwin(bigdeer2, y_pos, x_pos);
  1226.       wrefresh(bigdeer2);
  1227.       wrefresh(w_del_msg);
  1228.    napms(30);
  1229.  
  1230.       mvwin(bigdeer3, y_pos, x_pos);
  1231.       wrefresh(bigdeer3);
  1232.       wrefresh(w_del_msg);
  1233.    napms(30);
  1234.  
  1235.       mvwin(bigdeer4, y_pos, x_pos);
  1236.       wrefresh(bigdeer4);
  1237.       wrefresh(w_del_msg);
  1238.    napms(30);
  1239.     }
  1240.       mvwin(bigdeer0, y_pos, x_pos);
  1241.       wrefresh(bigdeer0);
  1242.       wrefresh(w_del_msg);
  1243.    napms(30);
  1244.   }
  1245.  
  1246.   --y_pos;
  1247.  
  1248.   mvwin(lookdeer3, y_pos, x_pos);
  1249.   wrefresh(lookdeer3);
  1250.   wrefresh(w_del_msg);
  1251.   return( 0 );
  1252. }
  1253.  
  1254.  
  1255.  
  1256. void done()
  1257. {
  1258. /*  signal(SIGINT,done);
  1259.   signal(SIGTERM,done);
  1260. #if !defined    DOS && !defined OS2
  1261.   signal(SIGHUP,done);
  1262.   signal(SIGQUIT,done);
  1263. #endif*/
  1264.   clear();
  1265.   refresh();
  1266.   endwin();
  1267.   exit(0);
  1268. }
  1269.